﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using VemTransporte.Models.Basica;
using NHibernate;

namespace VemTransporte.Models.Persistencia
{
    public class RepEmpresa: GenericNHibernateDAO<Empresa, int>
    {

        public Empresa ProcurarEmpresaPorEMail(string email)
        {
            Empresa retorno = null;

            try
            {
                Session.Clear();//used to delete all objects from the cache .

                IQuery query = Session.CreateQuery("from Empresa where EMP_EMail='" + email + "'");

                retorno = query.UniqueResult<Empresa>();

            }
            catch(Exception e)
            {
                throw new Exception("Erro ao tentar procurar empresa por E-Mail! Contate o administrador do site. Detalhes do erro: " + e.Message);
            }

            return retorno;
        }

        public Empresa ProcurarEmpresaPorEMailESenha(string email, string senha)
        {
            Empresa retorno = null;

            try
            {
                Session.Clear();//used to delete all objects from the cache .

                IQuery query = Session.CreateQuery("from Empresa where EMP_EMail=:email and EMP_Senha=:senha").SetString("email", email).SetString("senha", senha);

                retorno = query.UniqueResult<Empresa>();

            }
            catch (Exception e)
            {
                throw new Exception("Erro ao tentar procurar empresa por E-Mail e Senha! Contate o administrador do site. Detalhes do erro: " + e.Message);
            }

            return retorno;
        }

    }
}